#!/usr/bin/env python
# -*- coding: utf-8 -*-
#       
#       Copyright 2010 Santiago Lezica, Juan Pablo Orsay, Facundo Martinez.
#       
#       This program is free software; you can redistribute it and/or modify
#       it under the terms of the GNU General Public License as published by
#       the Free Software Foundation; either version 2 of the License, or
#       (at your option) any later version.
#       
#       This program is distributed in the hope that it will be useful,
#       but WITHOUT ANY WARRANTY; without even the implied warranty of
#       MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#       GNU General Public License for more details.
#       
#       You should have received a copy of the GNU General Public License
#       along with this program; if not, write to the Free Software
#       Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
#       MA 02110-1301, USA.
#
#TODO:
#Idea: Activate expansions with bits:
#0000000000000000 = No expansions
#0000000000000001 = Builders And Traders
#0000000000000010 = Inns & Cathedrals
#0000000000000100 = The River
#0000000000001000 = The Tower
#0000000000010000 = Abbey & Mayor
#0000000000100000 = The Catapult
#0000000001000000 = Bridges, Castles & Bazaar
#0000000010000000 = The Princess & The Dragon
#0000000100000000 = The River II
#0000001000000000 = The Cathars
#0000010000000000 = The Count of Carcassonne
#0000100000000000 = The Mini-Expansion
#0001000000000000 = The Cult
#0010000000000000 = Tunnel
#
#Eg: Carcassone game with inns & cathedrals and Builders & traders is identified
#by the number (1 | 10) = 11 (3)
#How to parse it.
class game:
    """Game object containing all of the initializations, methods
     and information about the game in progress"""
    def __init__(self, expansions = 0, players = 2): #Missing arguments such as expansions??
        """Initialization of the game object"""
        self._expansions = expansions
        self._num_players = players
        self.initExpansions()
        self._players = {}
        self.initPlayers()
        #__init__ method not finished


    def initExpansions(self):
        """Do everything that has to be done for each expansion activated"""
        pass

    def initPlayers(self):
        """Initialize each player"""
        pass
